SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW [dbo].[TMDOCC_DETA]
AS    
SELECT  CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, FE_EMIS, FE_VENC, FE_PROG_COBR, FE_DESP, CO_MONE,     
 FA_TIPO_CAMB, IM_TOTA, IM_PAGA, DE_OBSE, CO_TIPO_OPER, CO_ESTA_DOCU, '' 'CO_CLAV', 'N' TI_DOCU_ANTC,    
 TI_CLIE, '' 'CO_CABA', '' 'NU_COMP_CABA',    
 TI_VENT, '' 'CO_TIEN', CO_VEND,
 '' 'NO_CLIE', NU_RUCS, CO_COND_PAGO	
FROM  TMDOCU_CLIE
Where NOT (CO_ESTA_DOCU = 'ANU')
UNION ALL --LETRAS    
SELECT  TMLETR_CLIE.CO_EMPR, TMLETR_CLIE.CO_CLIE, 'LET', NU_LETR_CLIE, FE_EMIS, FE_VENC, FE_PROG_COBR, NULL 'FE_DESP', CO_MONE,     
 FA_TIPO_CAMB, IM_TOTA, IM_PAGA, '' 'DE_OBSE', CO_TIPO_OPER, CO_ESTA_DOCU, '' 'CO_CLAV', 'N' TI_DOCU_ANTC,    
 TI_CLIE, '' 'CO_CABA', '' 'NU_COMP_CABA',    
 TI_VENT, '' 'CO_TIEN', TMLETR_CLIE.CO_VEND,
 T2.NO_CLIE, T2.NU_RUCS, '' CO_COND_PAGO
FROM  TMLETR_CLIE, TMCLIE T2
WHERE TMLETR_CLIE.CO_EMPR = T2.CO_EMPR
And	  TMLETR_CLIE.CO_CLIE = T2.CO_CLIE
And   NOT (TMLETR_CLIE.CO_ESTA_DOCU = 'ANU')

UNION ALL
SELECT  T1.CO_EMPR, T1.CO_ENTI, T1.CO_TIPO_DOCU, T1.NU_DOCU_BANC, T1.FE_OPER, T1.FE_OPER, T1.FE_OPER, NULL 'FE_DESP', T2.CO_MONE,    
 FA_TIPO_CAMB, T1.IM_MOVI, 	IsNull((Select 	Sum(IsNull(D1.IM_DETA_NEGA,0))
			From 	TDAMAR_ANTC D1, TCAMAR_ANTC D2
			Where 	D1.CO_EMPR = T1.CO_EMPR
			And 	D2.CO_BANC = T1.CO_BANC
			And 	D2.NU_CNTA_BANC = T1.NU_CNTA_BANC
			And 	D2.AA_BNCO = T1.AA_BNCO
			And 	D2.MM_BNCO = T1.MM_BNCO
			And 	D2.NU_COMP_BANC = T1.NU_COMP_BANC
			And 	D1.CO_EMPR = D2.CO_EMPR
			And 	D1.CO_UNID_CONC = D2.CO_UNID_CONC
			And 	D1.NU_AMAR = D2.NU_AMAR
			And 	D1.FE_AMAR = D2.FE_AMAR
			And		D2.TI_SITU = 'ACT'
			Group By D1.CO_EMPR, D2.CO_BANC,  D2.NU_CNTA_BANC, D2.AA_BNCO, D2.MM_BNCO, D2.NU_COMP_BANC ),0),
 T1.DE_OBSE, T1.CO_TIPO_OPER, 
 Case		( T1.IM_MOVI - 	IsNull((Select 	Sum(IsNull(D1.IM_DETA_NEGA,0))
					From 	TDAMAR_ANTC D1, TCAMAR_ANTC D2
					Where 	D1.CO_EMPR = T1.CO_EMPR
					And 	D2.CO_BANC = T1.CO_BANC
					And 	D2.NU_CNTA_BANC = T1.NU_CNTA_BANC
					And 	D2.AA_BNCO = T1.AA_BNCO
					And 	D2.MM_BNCO = T1.MM_BNCO
					And 	D2.NU_COMP_BANC = T1.NU_COMP_BANC
					And 	D1.CO_EMPR = D2.CO_EMPR
					And 	D1.CO_UNID_CONC = D2.CO_UNID_CONC
					And 	D1.NU_AMAR = D2.NU_AMAR
					And 	D1.FE_AMAR = D2.FE_AMAR
					And		D2.TI_SITU = 'ACT'
					Group By D1.CO_EMPR, D2.CO_BANC,  D2.NU_CNTA_BANC, D2.AA_BNCO, D2.MM_BNCO, D2.NU_COMP_BANC ),0))
	When 0 	Then 'APL'
	Else T1.TI_SITU     
 End,
 T1.CO_BANC + T1.NU_CNTA_BANC + T1.AA_BNCO + T1.MM_BNCO + T1.NU_COMP_BANC, 'B' TI_DOCU_ANTC,    
 T4.CO_TIPO_CLIE, T1.CO_BANC + T1.NU_CNTA_BANC 'CO_CABA', T1.NU_COMP_BANC 'NU_COMP_CABA', 'PD', '', NULL,
  t4.NO_CLIE, IsNull(T4.NU_RUCS, t1.CO_ENTI), '' CO_COND_PAGO
FROM  TCMOVI_BANC T1, TMCNTA_BANC T2, TTTIPO_OPER T3, TMCLIE T4    
WHERE T1.CO_EMPR = T2.CO_EMPR    
AND  T1.CO_BANC = T2.CO_BANC    
AND  T1.NU_CNTA_BANC = T2.NU_CNTA_BANC    
AND  T1.TI_MOVI_BANC = 'I'    
And  NOT (T1.TI_SITU = 'ANU')
AND  T1.CO_EMPR = T4.CO_EMPR    
AND  T1.CO_ENTI = T4.CO_CLIE    
AND  T1.CO_EMPR = T3.CO_EMPR    
AND T1.CO_TIPO_OPER = T3.CO_TIPO_OPER    
AND T3.ST_AUXI_0002 = 'S'
UNION ALL --ANTICIPOS CAJA    
SELECT  T1.CO_EMPR, T1.CO_ENTI, 'ANT', T1.NU_COMP_CAJA, T1.FE_OPER, T1.FE_OPER, T1.FE_OPER, NULL 'FE_DESP', T2.CO_MONE,    
 FA_TIPO_CAMB, T1.IM_MOVI, IsNull((Select 	Sum(IsNull(D1.IM_DETA_NEGA,0))
						  From 	TDAMAR_ANTC D1, TCAMAR_ANTC D2
						  Where D1.CO_EMPR = T1.CO_EMPR
						  And 	D2.CO_CAJA = T1.CO_CAJA
						  And 	D2.AA_CAJA = T1.AA_CAJA
					 	  And 	D2.MM_CAJA = T1.MM_CAJA
						  And 	D2.NU_COMP_CAJA = T1.NU_COMP_CAJA
						  And 	D1.CO_EMPR = D2.CO_EMPR
						  And 	D1.CO_UNID_CONC = D2.CO_UNID_CONC
						  And 	D1.NU_AMAR = D2.NU_AMAR
						  And 	D1.FE_AMAR = D2.FE_AMAR
						  And 	D2.TI_SITU = 'ACT'
					Group By D2.CO_EMPR, D2.CO_CAJA,  D2.AA_CAJA, D2.MM_CAJA, D2.NU_COMP_CAJA ),0),
 T1.DE_OBSE, T1.CO_TIPO_OPER, 
 Case		( T1.IM_MOVI - IsNull((Select 	Sum(IsNull(D1.IM_DETA_NEGA,0))
						  From 	TDAMAR_ANTC D1, TCAMAR_ANTC D2
						  Where D1.CO_EMPR = T1.CO_EMPR
						  And 	D2.CO_CAJA = T1.CO_CAJA
						  And 	D2.AA_CAJA = T1.AA_CAJA
					 	  And 	D2.MM_CAJA = T1.MM_CAJA
						  And 	D2.NU_COMP_CAJA = T1.NU_COMP_CAJA
						  And 	D1.CO_EMPR = D2.CO_EMPR
						  And 	D1.CO_UNID_CONC = D2.CO_UNID_CONC
						  And 	D1.NU_AMAR = D2.NU_AMAR
						  And 	D1.FE_AMAR = D2.FE_AMAR
						  And 	D2.TI_SITU = 'ACT'
					Group By D2.CO_EMPR, D2.CO_CAJA,  D2.AA_CAJA, D2.MM_CAJA, D2.NU_COMP_CAJA ),0))
	When 0 	Then 'APL'
	Else T1.TI_SITU     
 End,
 T1.CO_CAJA + T1.AA_CAJA + T1.MM_CAJA + T1.NU_COMP_CAJA, 'C' TI_DOCU_ANTC,    
 T4.CO_TIPO_CLIE, T1.CO_CAJA 'CO_CABA', T1.NU_COMP_CAJA 'NU_COMP_CABA', 'PD','', NULL,
  IsNull(t4.NO_CLIE,t1.DE_ENTI), IsNull(T4.NU_RUCS, t1.CO_ENTI), '' CO_COND_PAGO
FROM  TCMOVI_CAJA T1, TMCAJA T2, TTTIPO_OPER T3, TMCLIE T4    
WHERE T1.CO_EMPR = T2.CO_EMPR    
AND  T1.CO_CAJA = T2.CO_CAJA    
AND T1.TI_MOVI = 'I'    
And  NOT (T1.TI_SITU = 'ANU')
AND T1.CO_EMPR = T4.CO_EMPR    
AND  T1.CO_ENTI = T4.CO_CLIE    
AND  T1.CO_EMPR = T3.CO_EMPR    
AND T1.CO_TIPO_OPER = T3.CO_TIPO_OPER    
AND T3.ST_AUXI_0002 = 'S'

GO
